Audiogram Module- 
Tasks Accomplished -
1) Add a new audiogram.
2) Edit an existing audiogram.
3) Delete an existing audiogram.
4) Create, edit and delete notes for the audiogram.
5) Generate report - of all the audiograms for a particular baby.
6) Display all the audiograms associated with a particular baby.

Design -
1) ShowAudiogram.aspx page - contains DisplayAudiogram.ascx control.
2) DisplayAudiogram.ascx control has -
	a) Edit button (html) - On clicking the edit button, CreateOrEditAudiogram.aspx page pops up.
	b) New button (html) - On clicking the new button, CreateOrEditAudiogram.aspx page pops up.
	c) Delete button (web form) - On clicking the delete button a message box pops up asking
	   if you want to delete the audiogram or not, if you select ok then the audiogram is deleted.
	d) Notes button (html) - On clicking the notes button , NotesForAudiogram.aspx page pops up. 
	e) Generate report button (web form) - On clicking the button , a pdf report is generated containing 
	   information about all the audiograms for the baby.	
	f) An Audiogram image - 
	g) Buttons to move to the next or previous audiograms.
	h) Audiogram title label
	i) Date Created (date control)
	j) Audiologist dropDownList
	k) Stage dropDownList
	l) PTA for right , left and sound field textboxes
3) CreateOrEditAudiogram.aspx page - contains CreateOrEditAudiogram.ascx control.
4) CreateOrEditAudiogram.ascx control has -
	a) Audiogram title label
	b) Date Created (date control)
	c) Audiologist dropDownList
	d) Stage dropDownList
	e) A Symbols table - containing different symbos which can be selected to make the audiogram.
	f) An audiogram image.
	g) A Test dropdownlist - containing the tests for the baby (which can be imported as an audiogram)
	h) Import button (html) - On clicking the import button, an existing test is made an audiogram and displayed 
	   on the audiogram image.
	i) Save button (html) - On clicking the save button the audiogram information is saved.
	If Edit button is clicked then intially all the field will be filled with the information of the particular
	audiogram being edited else if new button then all the fields are intially empty.
5) NotesForAudiogram.aspx - is built by wei , which has been included in the audiogram module.
6) audiogram.js -contains some of the refactored javascript code for the controls.

Along with the above these are needed-
1) AudiogramImages folder which stores the generated pdf reports.
2) Images folder contains the various image icons and the image .gif's used in the audiogram.


Implementation -
A) Web Presentation Layer -
1) DisplayAudiogram.ascx -
	a) BindDDLs()
	b) BindAudiologistsDDL()
	c) BindStagesDDL()
	d) BindingDDL()
	e) getBabyId()
	f) setSessions()
	g) enableButtons()
	h) clearPtaText()
	i) clearAudiNoText()
	j) setLabelsText()
	k) enableNextAndPrevious()
	l) displayPtaValues()
	m) getImagePaths()
	n) getImage()
	o) getaudiogramImage()
	p) getAudiologist()
	q) getAudiogramStage()
	r) getAllNotes()
	s) getXML()
	t) GetDatasets()
	u) btnShowNext_Click()
	v) btnShowPrevious_Click()
	w) DeleteFrequenciesAndTests()
	x) getEventId()
	y) ClearTitleAndDateLabels()
	z) btnNextEnable()
	a) setButtons()
	b) DisplayAudiogram()
	c) btnDelete_Click()
	d) createXML()
	e) btnGenerateReport_Click()
	f) GenerateReport()
	g) GeneratePDFReport()
2) CreateOrEditAudiogram.ascx control -
	a) getQueryString()
	b) getHiddenVariableValues()
	c) InitializeDate()
	d) get_Title()
	e) getDate()
	f) getfrequencySymbol()
	g) getSymbolsSelected()
	h) getfrequencySymbolNoResponse()
	i) getAudiologistAndStageSelected()
	j) getTestDesc()
	k) getValue()
	l) BindDDLs()
	m) getFacilityId()
	n) BindAudiologistsDDL()
	o) getProtocolId()
	p) BindStagesDDL() 
	q) getBabyId()
	r) BindTestDescDDL()
	s) BindingDDL()
	t) GetDatasets()
	u) AddTestRow()
	v) AddFrequencyRow()
	w) setfsValues()
	x) TestAndFrequency()
	y) setHiddenVariables()
	z) getConduction()
	a) getEar()
	b) getCurrentTime()
	c) getAudiogramDate()
	d) insertTest()
	e) insertNewTest()
	f) UpdateAudiogramEvent()
	g) UpdateAudiogram()
	h) DeleteFrequenciesAndTests()
	i) insertTestAndFrequencies()
	j) getEventId()
	k) EditAudiogram()
	l) createAudiogram()
	m) getMasked()
	n) getMaskedBool()
	o) getDbLevel()
	p) insertFrequency()
	q) insertNewFrequency()
	r) SaveData()
	s) setAllCurrentValuesForAudiogram()
	t) getTestId()
	u) isImported()
	v) setSessionForImport()
	w) getDataset()
	x) importAudiogram()
	y) insertEvent()
	z) insertAudiogram() 
	
B) Business Layer-
 a) getImage()
 b) calculateInc()
 c) drawHorizontalLines()
 d) drawVerticalLines()
 e) drawDashedLines()
 f) drawImageFrame()
 g) setfsValues()
 h) drawAudiogram()
 i) initialiseArrays()
 j) setValues()
 k) createImage()
 l) isNotNull()
 m) initialiseValues()
 n) placeIcon()
 o) calculateX()
 p) drawLines()
 q) setPenColorAndStyle()
 r) calculatePTAs()
 s) getXOffset()
 t) getYCoord()
 u) getDDLForAudiologists()
 v) getDDLForTestDescription()
 w) getNotesDataset()
 x) getNextGuid()	
	
	 
	
	
	
	